Field-sensitive pointer analysis for C

نویسندگان

  • David J. Pearce
  • Paul H. J. Kelly
  • Chris Hankin
چکیده

The subject of this paper is flowand context-insensitive pointer analysis. We present, for the first time, a fieldsensitive constraint-based analysis for C and evaluate its effects on time and precision. In addition, we study in detail four solving algorithms, including the Heintze-Tardieu solver, over 7 common C programs ranging in size from 5000 to 150,000 lines of code. Our results indicate the fieldsensitive analysis is more expensive to compute, but more precise. We also find the Heintze-Tardieu solver to be a robust choice and we examine why.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Context-Sensitive Memory Model for Verification of C/C++ Programs

Verification of low-level C/C++ requires a precise memory model that supports type unions, pointer arithmetic, and casts. We present a new memory model that splits memory into a finite set of disjoint regions based on a pointer analysis. The main contribution is a field-, arrayand context-sensitive pointer analysis tailored to verification. We have implemented our memory model for the LLVM bitc...

متن کامل

A Context-Sensitive Pointer Analysis Phase in Open64 Compiler

The precision of the pointer analysis plays an important role in compiler and other software understanding tools. Contextsensitivity is proven to be an effective methods to improve the precision of the final results of pointer analysis. Many context-sensitive pointer analysis methods have been proposed, however, few of them have been incorporated into production compilers. In Open64 compiler, i...

متن کامل

Automatic Parallelization of Restricted C Programs using Pointer Analysis

This paper describes a restriction on pointer usage in C language for parallelism extraction by an automatic parallelizing compiler. By rewriting programs to satisfy the restriction, automatic parallelization using flow-sensitive, context-sensitive pointer analysis on an 8 cores SMP server achieved 3.80 times speedup for SPEC2000 art, 6.17 times speedup for SPEC2006 lbm and 5.14 times speedup f...

متن کامل

SPAS: Scalable Path-Sensitive Pointer Analysis on Full-Sparse SSA

We present a new SPAS (ScalablePAth-Sensitive)framework for resolving points-to sets in C programs that exploits recent advances in pointer analysis. SPAS enables intraprocedural path-sensitivity to be obtained in flow-sensitive and context-sensitive (FSCS) techniques scalably, by using BDDs to manipulate program paths and by performing pointer analysis level-by-level on a full-sparse SSA repre...

متن کامل

Region-Based Selective Flow-Sensitive Pointer Analysis

We introduce a new region-based SELective Flow-Sensitive (Selfs) approach to inter-procedural pointer analysis for C that operates on the regions partitioned from a program. Flow-sensitivity is maintained between the regions but not inside, making traditional flow-insensitive and flow-sensitive as well as recent sparse flow-sensitive analyses all special instances of our Selfs framework. By sep...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004